第一版:
如果不考虑小数的情况。
var str = '123sdfsdf456sdffs789'
var numArr = str.match(/\d+/g)
console.log(numArr) // => ["123", "456", "789"]
// 也可以把拼接起来
console.log(+numArr.join('')) // => 123456789
第二版:
考虑小数存在的情况。
var str = '123.456sdfsdf456.789'
var numArr = str.match(/-?([1-9]\d*(\.\d*)*|0\.[1-9]\d*)/g)
console.log(numArr) / /=> ["123.456", "456.789"]
// 这个就没法拼接了